本文不是手机抓包配置教程,只是对macos抓包。手机端可进行参考
打开 MacOs Proxy 监听
点击 Charles 的 Proxy 菜单的 macOs Proxy 或 Proxy Setting 中的 macOS 来开启

配置 Proxy 端口和类型,使网卡转发流量到 Charles
点击 Charles 的 Proxy 菜单的 Proxy Setting

调整 SSL Proxy Setting 监听 443 端口
打开 Proxy 菜单的 SSL Proxy Settings,配置443 端口

点击Add后即弹出下图的菜单
Host 为 监听的域,*为全部监听,端口填写443(默认ssl端口),也可以是其它的自定义ssl端口

安装 SSL 根证书
上面做的这一切都依赖于证书的成功安装,否则还是无法解析 SSL 流量。
点击 Charles 的菜单 Help

理论上点击 Install Charles Root Certificate 即可,但是有些时候会直接报错。那么就使用 Save Charles Root Certificate 来保存 pem 证书到本地手动安装。

打开 Keychain 程序,点击左侧的 Login,而后直接将该证书拖到右侧证书列表中即可。此时证书不受信任

手机端抓包则同时在手机上配置 IOS或Mobile 证书,打开转发即可。
信任 SSL 根证书
不受信任的证书无法通过maco的安全策略,Charles 还是无法正常抓包。
双击刚才安装的证书,将 Trust 中的 Use System Defaults 改为 Always Trust。然后按一下指纹,即可保存成功

重启 Charles
经过测试,QQ音乐的https JSON已经正确的被Charles解析了。其它的当然也一样

注: 如果抓取不正常,请检查代理配置是否正确
在 系统偏好设置 -> 网络(对应的网卡) -> 高级设置 -> 代理配置 -> 中查看网络是否正确的配置了代理,这里的 8888 是第二部分配置的端口号。
该配置会随着 Charles 的关闭而被关闭

如果配置完还是有一部分应用的流量无法解析正确解析,则说明该应用可能使用了自签证书,无法抓取是正常的。